/*
 * Topol.h
 *
 *  Created on: May 12, 2012
 *      Author: marchi
 */

#ifndef TOPOLMIC_H_
#define TOPOLMIC_H_
#include "Topol.h"
namespace Topol_NS {

class TopolMic: public Topol {
	map<string,vector<vector<int> > > DefRes;
	map<string,vector<vector<int> > > DefResNH;
	vector<string> CurrentPDB;
	virtual void ExtractInfo(TopolPDB & ,bool);
public:
	TopolMic();
	TopolMic(TopolPDB &, bool);
	TopolMic & operator()(TopolPDB &,bool);
	virtual ~TopolMic();
	map<string,vector<vector<int> > > & getDef(){return DefRes;}
	map<string,vector<vector<int> > > & getDefNH(){return DefResNH;}
	bool CheckResidue(const string & );
	vector<vector<int> > & ResIndx(const string & x){return DefRes[x];}
	vector<vector<int> > & ResIndxNH(const string & x){return DefResNH[x];}
	const vector<string> & getPDB() {return CurrentPDB;}
};

} /* namespace Topol_NS */
#endif /* TOPOLMIC_H_ */
